# CMake 最低版本要求
cmake_minimum_required(VERSION 2.8)
# 工程名，不是执行文件名
project("shared")

# 设置release版本和debug版本
if(${CMAKE_BUILD_TYPE} MATCHES "Release")
# 不带-g选项
    message(STATUS "Release build")
    set(BuildType "Release")
else()
# 带-g选项
    message(STATUS "Debug build")
    set(BuildType "Debug")
endif()


#设置lib库目录
# RELEASE_DIR 自定义变量
SET(RELEASE_DIR ${PROJECT_SOURCE_DIR}/release)
# debug和release版本目录不一样
#设置生成的so动态库最后输出的路径
# SET(LIBRARY_OUTPUT_PATH ${RELEASE_DIR}/linux/${BuildType})
# LIBRARY_OUTPUT_PATH 系统变量 用于指定生成库文件（如 .so、.a）的输出目录。
SET(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/${BuildType})
message(STATUS "LIBRARY_OUTPUT_PATH -> " ${LIBRARY_OUTPUT_PATH})
# -fPIC 动态库必须的选项
ADD_COMPILE_OPTIONS(-fPIC)

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_LIB_SRCS 变量
AUX_SOURCE_DIRECTORY(. DIR_LIB_SRCS)
# 生成静态库链接库Dir1
ADD_LIBRARY (Dir1 ${DIR_LIB_SRCS})
# 生成动态库
# ADD_LIBRARY (Dir1 SHARED ${DIR_LIB_SRCS})

# 将库文件安装到lib目录下
install(TARGETS Dir1  DESTINATION lib)
# 将头文件安装到include目录下
install(FILES dir1.h DESTINATION include)